home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / lalr.lha / lalr / src / lalr.sh < prev    next >
Text File  |  1992-08-18  |  913b  |  47 lines

  1. lib=LIB
  2. infile=
  3. lalr_args=
  4. use_bnf=false
  5. bnf_args=
  6. bnf_file=/tmp/lalr$$
  7.  
  8. while test $# != 0
  9. do
  10.   case $1 in
  11.     -b)        use_bnf=true;;
  12.     -c)        lalr_args="$lalr_args $1";bnf_args="$bnf_args $1";;
  13.     -l)        lalr_args="$lalr_args $1";bnf_args="$bnf_args $1";;
  14.     -m)        lalr_args="$lalr_args $1";bnf_args="$bnf_args $1";;
  15.     -g)        lalr_args="$lalr_args $1";bnf_args="$bnf_args $1";;
  16.     -NoAction)    bnf_args="$bnf_args $1";;
  17.     -*)        lalr_args="$lalr_args $1";;
  18.     [0-9]*)    lalr_args="$lalr_args $1";;
  19.     *)        in_file="$in_file $1";;
  20.   esac
  21.   shift
  22. done
  23.  
  24. trap "rm -f $bnf_file" 1 2 3 15
  25.  
  26. if $use_bnf
  27. then
  28.   $lib/lalr/bnf $in_file $bnf_args > $bnf_file
  29.   status=$?
  30.   if test $status = 0
  31.   then
  32.     $lib/lalr/lalr $bnf_file $lalr_args
  33.     status=$?
  34.   else
  35.     cat $bnf_file
  36.   fi
  37.   rm $bnf_file
  38. else
  39.   $lib/lalr/lalr $in_file $lalr_args
  40.   status=$?
  41. fi
  42. if test -w _Debug -a ! \( -s _Debug \)
  43. then
  44.   rm _Debug
  45. fi
  46. exit $status
  47.